<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Demo-08-计算属性</title>
    <script type="text/javascript" src="../JS/vue.js"></script>
</head>
<body>
<div id="root">
    姓：<input v-model="firstName"><br>
    名：<input v-model="lastName"><br>
    全名：{{ fullName }}
</div>

<script text="text/javascript">
    const object = new Vue({
        el: '#root',

        data: {
            firstName: '张',
            lastName: '三',
        },

        computed: {
            fullName: {
                // get 函数用到的任何一个值发生变化之后, computed 都会重新计算一次
                // get 有什么作用？当有人读取 fullName 的值时，get 就会被调用，并且返回值就是 fullName 的值；
                // get 什么时候被调用？1.初次读取 fullName 时；2.所依赖的数据发生变化时；
                get() {
                    return this.firstName + '-' + this.lastName;
                },

                // set什么时候被调用？当fullName值发生变化时；
                set(value) {
                    const array = value.split('-')
                    this.firstName = array[0]
                    this.lastName = array[1]
                },
            }
        }
    })
</script>
</body>
</html>